package cn.tx.controller;

import cn.tx.service.impl.netty.PushMsgService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author: 可乐加糖
 * @create: 2023-03-16 15:16
 * Spring Boot + Redis 解决重复提交问题，一定用的到
 * https://mp.weixin.qq.com/s/1D-8TUtJq74mrDqlBgDgEw
 * @Description: 首先我们需要通过/get/token路径通过getToken()方法去获取具体的token，
 * 然后我们调用testIdempotence方法，这个方法上面注解了@AutoIdempotent，拦截器会拦截所有的请求，
 * 当判断到处理的方法上面有该注解的时候，就会调用TokenService中的checkToken()方法，
 * 如果捕获到异常会将异常抛出调用者，下面我们来模拟请求一下：
 */

@RestController
@RequestMapping("/push")
public class TestNettyController {


    @Autowired
    private PushMsgService pushMsgService;


    @GetMapping("/one/{uid}")
    public String pushOneMsg(@PathVariable String uid){

        pushMsgService.pushMsgToOne(uid,"hello");

        return uid +" :hello";

    }

    @GetMapping("/all")
    public String pushAllMsg(){

        pushMsgService.pushMsgToAll("all hello");

        return "all :hello";

    }
}